home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Editors / emacs / Emacs-1.14b1-sources / sources / utility-src / wakeup.c < prev   
Encoding:
C/C++ Source or Header  |  1994-03-04  |  656 b   |  38 lines  |  [TEXT/EMAC]

  1. /* Program to produce output at regular intervals.  */
  2.  
  3. #include "stdio.h"
  4. #include <time.h>
  5.  
  6. struct tm *localtime ();
  7.  
  8. main (argc, argv)
  9.      int argc;
  10.      char **argv;
  11. {
  12.   int period = 60;
  13.   long when;
  14.   struct tm *tp;
  15.  
  16.   if (argc > 1)
  17.     period = atoi (argv[1]);
  18.  
  19.   while (1)
  20.     {
  21.       /* Make sure wakeup stops when Emacs goes away.  */
  22.       if (getppid () == 1)
  23.     exit (0);
  24.       printf ("Wake up!\n");
  25.       fflush (stdout);
  26.       /* If using a period of 60, produce the output when the minute
  27.      changes. */
  28.       if (period == 60)
  29.     {
  30.       time (&when);
  31.       tp = localtime (&when);
  32.       sleep (60 - tp->tm_sec);
  33.     }
  34.       else
  35.     sleep (period);
  36.     }
  37. }
  38.